// Package types define the structure of request parameters and return results in this package
package types

import (
	"time"

	"github.com/zhufuyi/sponge/pkg/mysql/query"
)

var _ time.Time

// CreateTkAppletJumpLogRequest create params
// todo fill in the binding rules https://github.com/go-playground/validator
type CreateTkAppletJumpLogRequest struct {
	BindID string `json:"bind_id" binding:""` // 生成短链唯一标识
	Appid  string `json:"appid" binding:""`   // 小程序appid
	Data   string `json:"data" binding:""`
}

// UpdateTkAppletJumpLogByIDRequest update params
type UpdateTkAppletJumpLogByIDRequest struct {
	ID uint64 `json:"id" binding:""` // uint64 id

	BindID string `json:"bind_id" binding:""` // 生成短链唯一标识
	Appid  string `json:"appid" binding:""`   // 小程序appid
	Data   string `json:"data" binding:""`
}

// GetTkAppletJumpLogByIDRespond respond detail
type GetTkAppletJumpLogByIDRespond struct {
	ID string `json:"id"` // convert to string id

	BindID    string `json:"bind_id"` // 生成短链唯一标识
	Appid     string `json:"appid"`   // 小程序appid
	Data      string `json:"data"`
	CreatedAt int    `json:"created_at"` // 创建时间
}

// DeleteTkAppletJumpLogsByIDsRequest request form ids
type DeleteTkAppletJumpLogsByIDsRequest struct {
	IDs []uint64 `json:"ids" binding:"min=1"` // id list
}

// GetTkAppletJumpLogsByIDsRequest request form ids
type GetTkAppletJumpLogsByIDsRequest struct {
	IDs []uint64 `json:"ids" binding:"min=1"` // id list
}

// GetTkAppletJumpLogsRequest request form params
type GetTkAppletJumpLogsRequest struct {
	query.Params // query parameters
}

// ListTkAppletJumpLogsRespond list data
type ListTkAppletJumpLogsRespond []struct {
	GetTkAppletJumpLogByIDRespond
}
